#!/usr/bin/env python
# -*- coding: utf-8 -*-

class Code:
	""" 命令コードオブジェクト """
	CODE_MESSAGE = "\x01" # メッセージ
	CODE_INTEGER = "\x02" # 数値
	CODE_COLOR   = "\x03" # 色（#ffffff）
	CODE_VAR     = "\x04" # 変数
	
	CODE_ASSIGN  = "\x10" # 代入演算子'='
	CODE_ADD     = "\x11" # 加算演算子'+'
	CODE_SUB     = "\x12" # 減算演算子'-'
	CODE_MUL     = "\x13" # 乗算演算子'*'
	CODE_DIV     = "\x14" # 除算演算子'/'
	CODE_MINUS   = "\x15" # 符号反転'-'
	CODE_BOOL    = "\x16" # 真偽
	CODE_NOT     = "\x17" # 否定
	CODE_EQ      = "\x18" # '=='
	CODE_NE      = "\x19" # '!='
	CODE_LE      = "\x1A" # '<'
	CODE_LESS    = "\x1B" # '<='
	CODE_GE      = "\x1C" # '>'
	CODE_GREATER = "\x1D" # '>='
	CODE_AND     = "\x1E" # '&&'
	CODE_OR      = "\x20" # '||'
	
	CODE_IF      = "\x30" # if文
	CODE_ELIF    = "\x31" # elif文
	CODE_JUMP    = "\x32" # アドレスジャンプ
	CODE_SELECT        = "\x40" # 選択肢
	CODE_SELECT_CHOICE = "\x41" # 選択肢の文
	CODE_SELECT_JUMP   = "\x42" # 選択肢によるジャンプ
	CODE_CALL      = "\x50" # ファンクション呼び出し
	CODE_LABEL_END = "\x51" # ラベルの終端
	CODE_FUN_END   = "\x52" # ファンクションの終端
	
	CODE_DRAW_BG = "\x60"  # 背景描画命令
	CODE_CLEAR_BG = "\x61" # 背景消去命令
	
	
	# メッセージの改ページ
	MSG_NEXT = "\x00" # なし
	MSG_FF   = "\x01" # 改ページ（キー入力待ち）
	# 代入の種類
	ASSIGN_EQ  = "\x00" # そのまま
	ASSIGN_ADD = "\x01" # 加算
	ASSIGN_SUB = "\x02" # 減算
	ASSIGN_MUL = "\x03" # 乗算
	ASSIGN_DIV = "\x04" # 除算
	# 真偽の種類
	BOOL_FALSE = "\x00" # 偽
	BOOL_TRUE  = "\x01" # 真
	
	# 描画タイプ
	DRAW_TYPE_COLOR = "\x00" # RGBで描画
	DRAW_TYPE_ID    = "\x01" # 画像を描画

	# エフェクトID
	EF_NORMAL    = "\x00" # 瞬間表示
	EF_SCROLL_L  = "\x01" # 左スクロール
	EF_SCROLL_R  = "\x02" # 右スクロール
	EF_SCROLL_U  = "\x03" # 上スクロール
	EF_SCROLL_D  = "\x04" # 下スクロール
	EF_SHUTTER_L = "\x05" # 左シャッター
	EF_SHUTTER_R = "\x06" # 右シャッター
	EF_SHUTTER_U = "\x07" # 上シャッター
	EF_SHUTTER_D = "\x08" # 下シャッター
	EF_ALPHA     = "\x09" # アルファブレンド（半透明）
	EF_GRAY      = "\x0A" # グレースケール（白黒）
	EF_SEPIA     = "\x0B" # セピア
	EF_NEGA      = "\x0C" # ネガポジ（反転）
	